package br.com.view;

import java.util.ArrayList;
import java.util.Calendar;

import org.ksoap2.serialization.SoapPrimitive;

import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.ArrayAdapter;
import android.widget.CalendarView;
import android.widget.Toast;
import br.com.control.Policy;
import br.com.model.AgendamentoBean;
import br.com.model.ServicoEquipar;

@SuppressLint({ "ShowToast" })
@TargetApi(11)
public class Agendamento2 extends Activity implements ServicoEquipar {
	final int agendarHoje = 1;
	final int agendarPersonalizado = 2;
	private AlertDialog alerta;
	int ano = 0;
	AgendamentoBean bean;
	Central central = new Central();
	int dia = 0;
	int hora = 0;
	private CalendarView.OnDateChangeListener mDateSetListener = new CalendarView.OnDateChangeListener() {
		public void onSelectedDayChange(CalendarView paramCalendarView,
				int paramInt1, int paramInt2, int paramInt3) {
			Agendamento2.this.ano = paramInt1;
			Agendamento2.this.mes = paramInt2;
			Agendamento2.this.dia = paramInt3;
			String str = Agendamento2.this.dia + "-"
					+ (1 + Agendamento2.this.mes) + "-" + Agendamento2.this.ano
					+ " ";
			Agendamento2.this.MessageDate("Data Selecionada", str);
			Agendamento2.this.ValidaData(Agendamento2.this.dia,
					1 + Agendamento2.this.mes, Agendamento2.this.ano);
		}
	};
	int mes = 0;
	int min = 0;
	Policy p = new Policy();
	final int sair = 3;

	public void AgendaServico(String paramString1, String paramString2) {
		this.bean = new AgendamentoBean();
		this.bean.setData(paramString1.toString());
		this.bean.setHorario(paramString2.toString());
		Central.DATA = this.bean.getData();
		System.out.println(Central.DATA);
		Central.HORARIO = this.bean.getHorario();
		System.out.println(Central.HORARIO);
		ArrayList localArrayList = new ArrayList();
		localArrayList.add("Insufilm");
		localArrayList.add("Instalação de Som");
		localArrayList.add("Troca de Óleo");
		localArrayList.add("Envelopamento");
		ArrayAdapter localArrayAdapter = new ArrayAdapter(this, 17367043,
				localArrayList);
		AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
		localBuilder.setTitle("Listas de Serviços da Equipar");
		localBuilder.setSingleChoiceItems(localArrayAdapter, 0,
				new DialogInterface.OnClickListener(localArrayList,
						paramString1, paramString2) {
					public void onClick(DialogInterface paramDialogInterface,
							int paramInt) {
						String str = (String) this.val$servicos.get(paramInt);
						Agendamento2.this.bean.setServico(str.toString());
						Central.SERVICO = Agendamento2.this.bean.getServico();
						System.out.println(Central.SERVICO);
						Agendamento2.this
								.MessageDate(
										"Solicitação de Agendamento: \nData: "
												+ this.val$data + " horário: "
												+ this.val$horario,
										"Tipo de serviço: "
												+ str
												+ "\nAtenção antes de comparecer a loja, "
												+ "a Equipar pede com gentileza que entre em contato para confirmar o agendamento, "
												+ "pelo telefone: (11) 3685-2804.");
						Agendamento2.this.alerta.dismiss();
					}
				});
		this.alerta = localBuilder.create();
		this.alerta.show();
		new Central();
		Central.SERVICO = this.bean.getServico();
	}

	public void ChamaTela() {
		startActivity(new Intent(this, Central.class));
	}

	public void DataAtual(String paramString) {
		ArrayList localArrayList = new ArrayList();
		localArrayList.add("08:00");
		localArrayList.add("10:00");
		localArrayList.add("12:00");
		localArrayList.add("14:00");
		localArrayList.add("16:00");
		ArrayAdapter localArrayAdapter = new ArrayAdapter(this, 17367043,
				localArrayList);
		AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
		localBuilder.setTitle("Listas de Horários de Serviço da Equipar");
		localBuilder
				.setSingleChoiceItems(localArrayAdapter, 0,
						new DialogInterface.OnClickListener(localArrayList,
								paramString) {
							public void onClick(
									DialogInterface paramDialogInterface,
									int paramInt) {
								String str = (String) this.val$lista
										.get(paramInt);
								Agendamento2.this.MessageDate(
										"Solicitação de Agendamento:",
										"Agendamento concluído com sucesso!");
								Agendamento2.this.alerta.dismiss();
								Agendamento2.this.AgendaServico(this.val$data,
										str);
							}
						});
		this.alerta = localBuilder.create();
		this.alerta.show();
	}

	public void MessageDate(String paramString1, String paramString2) {
		AlertDialog.Builder localBuilder = new AlertDialog.Builder(this);
		localBuilder.setTitle(paramString1);
		localBuilder.setMessage(paramString2);
		localBuilder.setNeutralButton("Ok", null);
		localBuilder.show();
	}

	public SoapPrimitive ServicoSoap(String paramString1, String paramString2) {
		return null;
	}

	public void ValidaData(int paramInt1, int paramInt2, int paramInt3) {
		Calendar localCalendar = Calendar.getInstance();
		int i = localCalendar.get(5);
		int j = localCalendar.get(2);
		int k = localCalendar.get(1);
		int m = j + 1;
		if ((paramInt1 < i) || (paramInt2 < m) || (paramInt3 < k)
				|| (paramInt3 > k)) {
			MessageDate(
					"Data Inválida",
					"Nosso agendamento não permite trabalhar com datas e meses inferiores das datas atuais,e ano maior ou inferior ao atual.");
			return;
		}
		Toast.makeText(
				getApplicationContext(),
				"Data selecionada: " + paramInt1 + "/" + paramInt2 + "/"
						+ paramInt3, 0).show();
		DataAtual(paramInt1 + "/" + paramInt2 + "/" + paramInt3);
	}

	@SuppressLint({ "NewApi" })
	@TargetApi(9)
	public void onCreate(Bundle paramBundle) {
		super.onCreate(paramBundle);
		this.p.StrictMode();
		CalendarView localCalendarView = new CalendarView(this);
		Calendar localCalendar = Calendar.getInstance();
		this.dia = localCalendar.get(5);
		this.mes = localCalendar.get(2);
		this.ano = localCalendar.get(1);
		this.hora = localCalendar.get(10);
		this.min = localCalendar.get(12);
		this.mes = (1 + this.mes);
		localCalendarView.setOnDateChangeListener(this.mDateSetListener);
		setContentView(2130903041);
		((CalendarView) findViewById(2131296262))
				.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
					public void onSelectedDayChange(
							CalendarView paramCalendarView, int paramInt1,
							int paramInt2, int paramInt3) {
						System.out.println("Hora atual: "
								+ Agendamento2.this.hora + ":"
								+ Agendamento2.this.min);
						Agendamento2.this.ValidaData(paramInt3, paramInt2 + 1,
								paramInt1);
					}
				});
	}

	public boolean onCreateOptionsMenu(Menu paramMenu) {
		boolean bool = super.onCreateOptionsMenu(paramMenu);
		super.onCreateOptionsMenu(paramMenu);
		SubMenu localSubMenu = paramMenu.addSubMenu("Agenda de Horários");
		localSubMenu.add(0, 1, 0, "Agendamento para Hoje");
		localSubMenu.add(0, 2, 0, "Agendamento personalizado");
		localSubMenu.add(0, 3, 0, "Sair");
		return bool;
	}

	public boolean onOptionsItemSelected(MenuItem paramMenuItem) {
		switch (paramMenuItem.getItemId()) {
		default:
		case 1:
		case 2:
		case 3:
		}
		while (true) {
			return super.onOptionsItemSelected(paramMenuItem);
			Toast.makeText(this, "Você selecionou a opção Agendar para hoje", 0)
					.show();
			DataAtual(this.dia + "/" + this.mes + "/" + this.ano);
			continue;
			Toast.makeText(this,
					"Você selecionou a opção Agendar Personalizado", 0).show();
			MessageDate("Agendamento Personalizado",
					"Escolha uma data atual ou futura, para o agendamento do seu carro.");
			continue;
			ChamaTela();
			finish();
		}
	}
}
